package com.empire.module.member.enums;

import com.empire.framework.common.exception.ErrorCode;

/**
 * Member 错误码枚举类
 * <p>
 * member 系统，使用 1-004-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 用户相关  1-004-001-000 ============
    ErrorCode USER_NOT_EXISTS = new ErrorCode(1_004_001_000, "用户不存在");
    ErrorCode USER_MOBILE_NOT_EXISTS = new ErrorCode(1_004_001_001, "手机号未注册用户");
    ErrorCode USER_MOBILE_USED = new ErrorCode(1_004_001_002, "修改手机失败，该手机号({})已经被使用");
    ErrorCode USER_POINT_NOT_ENOUGH = new ErrorCode(1_004_001_003, "用户积分余额不足");
    ErrorCode USER_IDCARD_EXIST = new ErrorCode(1_004_001_004, "身份证号已经存在。");
    ErrorCode USER_PASSPORT_NUMBER_EXIST = new ErrorCode(1_004_001_004, "护照号已经存在。");
    ErrorCode DEPT_MEMBER_RELATION_NOT_EXISTS = new ErrorCode(1_004_001_005, "管控部门-人员关系已经存在。");

    // ========== AUTH 模块 1-004-003-000 ==========
    ErrorCode AUTH_LOGIN_BAD_CREDENTIALS = new ErrorCode(1_004_003_000, "登录失败，账号密码不正确");
    ErrorCode AUTH_LOGIN_USER_DISABLED = new ErrorCode(1_004_003_001, "登录失败，账号被禁用");
    ErrorCode AUTH_SOCIAL_USER_NOT_FOUND = new ErrorCode(1_004_003_005, "登录失败，解析不到三方登录信息");
    ErrorCode AUTH_MOBILE_USED = new ErrorCode(1_004_003_007, "手机号已经被使用");

    // ========== 用户收件地址 1-004-004-000 ==========
    ErrorCode ADDRESS_NOT_EXISTS = new ErrorCode(1_004_004_000, "用户收件地址不存在");

    //========== 用户标签 1-004-006-000 ==========
    ErrorCode TAG_NOT_EXISTS = new ErrorCode(1_004_006_000, "用户标签不存在");
    ErrorCode TAG_NAME_EXISTS = new ErrorCode(1_004_006_001, "用户标签已经存在");
    ErrorCode TAG_HAS_USER = new ErrorCode(1_004_006_002, "用户标签下存在用户，无法删除");

    //========== 积分配置 1-004-007-000 ==========

    //========== 积分记录 1-004-008-000 ==========
    ErrorCode POINT_RECORD_BIZ_NOT_SUPPORT = new ErrorCode(1_004_008_000, "用户积分记录业务类型不支持");

    //========== 签到配置 1-004-009-000 ==========
    ErrorCode SIGN_IN_CONFIG_NOT_EXISTS = new ErrorCode(1_004_009_000, "签到天数规则不存在");
    ErrorCode SIGN_IN_CONFIG_EXISTS = new ErrorCode(1_004_009_001, "签到天数规则已存在");

    //========== 签到配置 1-004-010-000 ==========
    ErrorCode SIGN_IN_RECORD_TODAY_EXISTS = new ErrorCode(1_004_010_000, "今日已签到，请勿重复签到");

    //========== 用户等级 1-004-011-000 ==========
    ErrorCode LEVEL_NOT_EXISTS = new ErrorCode(1_004_011_000, "用户等级不存在");
    ErrorCode LEVEL_NAME_EXISTS = new ErrorCode(1_004_011_001, "用户等级名称[{}]已被使用");
    ErrorCode LEVEL_VALUE_EXISTS = new ErrorCode(1_004_011_002, "用户等级值[{}]已被[{}]使用");
    ErrorCode LEVEL_EXPERIENCE_MIN = new ErrorCode(1_004_011_003, "升级经验必须大于上一个等级[{}]设置的升级经验[{}]");
    ErrorCode LEVEL_EXPERIENCE_MAX = new ErrorCode(1_004_011_004, "升级经验必须小于下一个等级[{}]设置的升级经验[{}]");
    ErrorCode LEVEL_HAS_USER = new ErrorCode(1_004_011_005, "用户等级下存在用户，无法删除");

    ErrorCode EXPERIENCE_BIZ_NOT_SUPPORT = new ErrorCode(1_004_011_201, "用户经验业务类型不支持");

    //========== 用户分组 1-004-012-000 ==========
    ErrorCode GROUP_NOT_EXISTS = new ErrorCode(1_004_012_000, "用户分组不存在");
    ErrorCode GROUP_HAS_USER = new ErrorCode(1_004_012_001, "用户分组下存在用户，无法删除");

    ErrorCode LOCATION_NOT_EXISTS = new ErrorCode(1_007_001_000, "定位信息不存在");
    ErrorCode LOCATION_LAST_NOT_EXISTS = new ErrorCode(1_007_002_000, "定位信息不存在");

    ErrorCode CASES_NOT_EXISTS = new ErrorCode(1_007_002_000, "定位信息不存在");
    ErrorCode TARGET_INFO_NOT_EXISTS = new ErrorCode(1_007_003_000, "重点人不存在");
    ErrorCode CASE_PERSON_RELATION_NOT_EXISTS = new ErrorCode(1_007_004_000, "案件-人员关系不存在");
    ErrorCode EVENT_NOT_EXISTS = new ErrorCode(1_008_004_000, "境外人员事件管理不存在");

    ErrorCode HOTEL_RECORD_NOT_EXISTS = new ErrorCode(1_010_004_000, "旅馆住宿不存在");
    ErrorCode TRANSPORTATION_RECORD_NOT_EXISTS = new ErrorCode(1_011_004_000, "交通记录不存在");
    ErrorCode INTERNET_ARTICLE_NOT_EXISTS = new ErrorCode(1_012_004_000, "互联网文章不存在");
    ErrorCode INTERNET_ACCOUNT_NOT_EXISTS = new ErrorCode(1_013_004_000, "互联网账号不存在");
    ErrorCode SUPER_RELATION_NODE_NOT_EXISTS = new ErrorCode(1_014_004_000, "超级关系--节点信息不存在");
    ErrorCode SUPER_RELATION_LINK_NOT_EXISTS = new ErrorCode(1_015_004_00, "超级关系关系信息不存在");
    ErrorCode ACCOUNT_TYPE_NOT_EXISTS = new ErrorCode(1_016_004_00, "账号类型不存在");
    ErrorCode ACCOUNT_TYPE_EXISTS_DATA = new ErrorCode(1_016_004_00, "账号类型已存在数据，不能删除！");
    ErrorCode MAP_CONFIG_NOT_EXISTS = new ErrorCode(1_017_004_00, "地图配置主不存在");
    ErrorCode MAP_POLYGON_NOT_EXISTS = new ErrorCode(1_018_004_00, "地图多边形信息不存在");
    ErrorCode MAP_POLYGON_POINT_NOT_EXISTS = new ErrorCode(1_019_004_00, "多边形顶点坐标不存在");
    ErrorCode MAP_POLYGON_LOG_NOT_EXISTS = new ErrorCode(1_020_004_00, "多边形操作日志不存在");
    ErrorCode WARN_CONFIG_PERSON_RELATION_NOT_EXISTS = new ErrorCode(1_021_004_00, "预警条件-人员关系不存在");
    ErrorCode PERSON_WARNING_SUMMARY_NOT_EXISTS = new ErrorCode(1_022_004_00, "人员预警统计汇总不存在");
    ErrorCode WARNING_GATHER_NOT_EXISTS = new ErrorCode(1_023_004_00, "聚集预警主表（1条记录对应1次聚集事件）不存在");
    ErrorCode WARNING_GATHER_PERSON_NOT_EXISTS = new ErrorCode(1_024_004_00, "聚集预警参与人员关联表（1条记录对应1人参与1次聚集）不存在");
    ErrorCode WARNING_INDIVIDUAL_NOT_EXISTS = new ErrorCode(1_025_004_00, "非聚集预警记录表（1条记录对应1个人的1次预警）不存在");

    // ========== 聚集预警相关  1-004-002-xxx ============
    ErrorCode WARNING_GATHER_CONFIG_NOT_EXISTS = new ErrorCode(1_004_002_001, "聚集预警配置不存在");
    ErrorCode WARNING_GATHER_CONFIG_INCOMPLETE = new ErrorCode(1_004_002_002, "聚集预警配置不完整（缺少距离或时间间隔参数）");

    ErrorCode PRESENTATION_NOT_EXISTS = new ErrorCode(1_009_004_000, "报告不存在");
    ErrorCode PRESENTATION_FILE_NOT_EXISTS = new ErrorCode(1_009_004_001, "报告文件不存在");
    ErrorCode PRESENTATION_FILE_DOWNLOAD_FAIL = new ErrorCode(1_009_004_002, "报告下载失败");
    ErrorCode PRESENTATION_FILE_GENERATE_FAIL = new ErrorCode(1_009_004_003, "更新报告失败");
    ErrorCode PRESENTATION_PERSON_RELATION_NOT_EXISTS = new ErrorCode(1_009_004_004, "报告-人员关系不存在");

    // 互联网粉丝
    ErrorCode INTERNET_ACCOUNT_FAN_EMPTY = new ErrorCode(1_010_001_001, "没有查到该账号的粉丝");
}
